<?php namespace Admin\Controller; 


use Common\Model\GoodsList;
use Common\Model\TypeAttr;
use Common\Model\GoodsAttr;
//商品品牌控制器
class GoodsListController extends CommonController{

	private $goodsListModel;
	// 构造方法
	public function __init(){
		// 先调用公共控制器commoncontroller里面的__init方法，
		parent::__init();
		// 实例化属性模型
		$this->goodsListModel=new GoodsList;
	}

	

	// 添加
	public function index(){
// 【显示数据】
		// 获取商品id
		$gid=Q('get.gid',0,'intval');
		// 查询数据库
		$goodsListData=$this->goodsListModel->where("goods_gid=$gid")->get();
		// 将字符串转为数组
		foreach ($goodsListData as $k => $v){
			// sp($v);
			// 将转为数组的数据压入combine字段
			$goodsListData[$k]['combine']=explode(',',$v['combine']);

		}
		// sp($goodsListData);

		// 实例化商品属性模型
		$goodsAttrModel=new GoodsAttr;
		// 循环
		foreach ($goodsListData as $m => $n){
			foreach ($n['combine'] as $mm => $nn) {
			// sp($nn);
				// 将查询到的gtvalue规格值压入
				$goodsListData[$m]['gtvalue'][]=$goodsAttrModel->where("gtid={$nn}")->pluck('gtvalue');
				// sp($goodsListData);
			}
		}
		// sp($goodsListData);
		// 分配数据
		View::with('goodsListData',$goodsListData);



// =============================================================
// 【添加货品数据】
		// 实例化类型属性模型
		$TypeAttrModel=new TypeAttr;
		// 商品属性表和类型属性表联合查询【查询出class=1也就是规格数据】
		$data=$TypeAttrModel->join('goods_attr','type_attr_taid','=','taid')->where("class=1 AND goods_gid={$gid}")->get();
		// sp($data);
		// 重组数组
		$arr=array();
		foreach ($data as $k=> $v){
			
			$arr[$v['taname']][]=$v;
		}
		// sp($arr);
		// 如果用户有提交
		if(IS_POST){
			// 调用模型里面的store()方法
			if(!$this->goodsListModel->store()){//如果有错误那就返回错误信息

				$this->error($this->goodsListModel->getError());
				// echo json_encode(array('status'=>false,'message'=>$this->goodsListModel->getError()));
			}else{
				// 如果成功那就跳转
				$this->success('添加成功','index');
				// echo json_encode(array('status'=>true,'message'=>'添加成功'));
			}
			
		}

		// 分配数据
		View::with('arr',$arr);
		View::make();
	}

	// 编辑
	public function edit(){
		// 实例化类型属性模型
		$TypeAttrModel=new TypeAttr;
		// 商品属性表和类型属性表联合查询【查询出class=1的也就是规格
		$data=$TypeAttrModel->join('goods_attr','type_attr_taid','=','taid')->where("class=1")->get();
		// sp($data);
		// 重组数组
		$arr=array();
		foreach ($data as $k=> $v){
			
			$arr[$v['taname']][]=$v;
		}
		// sp($arr);
		// 分配数据
		View::with('arr',$arr);
		// =================
		// 获取旧数据
		$glid=Q('get.glid');
		// 查询ID对应的那条旧数据
		$oldData=$this->goodsListModel->where("glid=$glid")->find();
		// sp($oldData);
		// 将旧数据里面的组合属性ID字符串转为数组
		$oldData['combine']=explode(',',$oldData['combine']);
		// sp($oldData);
		// 分配旧数据
		View::with("oldData",$oldData);

		// =======================
		// 如果用户有提交
		if(IS_POST){
			if(!$this->goodsListModel->edit()){

				$this->error($this->goodsListModel->getError());
			
			}else{
				$this->success('修改成功',U('GoodsList/index',array('glid'=>$glid)));
				
			}
			

		}
		View::make();

	}

	public function del(){
		// 获取货品ID【glid】
		$glid=Q('get.glid');
		// sp($glid);die;
		$this->goodsListModel->where("glid=$glid")->delete();
		$this->success('删除成功');
	}
}
